#!/usr/bin/env node


const log = console.log;
const { setTimeout:delay } = require('timers/promises');

//1.下面是使用 Promise实例和setTimeout封装 sleep方法
async function sleep(ms) {
  return new Promise(resolve => setTimeout(() => resolve(), ms));
}

async function fn() {
  log('hello');
  await sleep(2000);
  log('world\n');

  log('wang');
  await delay(2000);//2.这里是使用timers/promises模块中的delay方法(使用 node.js v15 引入的 Promise 版本的 setTimeout)
  log('ding\n');
}

log('abc');
setTimeout(() => {
  log('def\n');
  fn();
}, 2000);//3.用 setTimeout 实现 sleep 效果，让程序暂停执行若干毫秒

